package lines.gameengine.tracer;

import lines.gameengine.FieldPoint;
import lines.gameengine.IField;

/**
 * @author vpotapenko
 */
public interface IFieldTracer {

    /**
     * Update tracer by field. It save all busy cells for finding trace between points
     * @param field
     */
    void update(IField field);

    /**
     * Find trace between a start point and an end point and save the result in <code>SearchResult</code>
     * @param start a start point of the trace
     * @param end an end point of the trace
     * @return result of finding
     */
    SearchResult findTrace(FieldPoint start, FieldPoint end);
}
